//% color="#ff9a00" iconWidth=50 iconHeight=40
namespace infrared{
  
    //% block="红外探测 被触发引脚[PIN]" blockType="boolean"
    //% PIN.shadow="normal" PIN.defl="pin1" 

    export function infraredInit(parameter: any, block: any) {      
     let pin=parameter.PIN.code;  
     let obj=parameter.PIN.parType
     console.log(parameter)
     //根据输入积木生成对象名
     if(obj=="unihiker.unihikerPin"){//行空板引脚
         obj=extractPinCode(pin)
         Generator.addInitHeader("infraredInit",`p_${obj}_in=Pin(Pin.P${obj}, Pin.IN)`);
     }
    else if(obj=="data_stringmc"){//变量
       obj=pin
     }
     else if(obj=="text_normal"){//直接输入
         obj=pin
         
      }
      else{
         obj=pin
      }
     Generator.addImport("from pinpong.board import Board,Pin");
      
     Generator.addCode(`${pin}.read_digital()==False`);
   
    }
    function extractPinCode(input: string): string | null {
      // 正则表达式匹配 "Pin.Px" 风格的字符串
      const match = input.match(/Pin\.P(\d+)/);
      // 如果匹配成功，返回匹配的部分（不包括"Pin."）
      return match ? match[1] : null;
    }
    
    
}